The invention relates to an industrial robot which has a plurality of movement axes, typically six axes. Such a robot has a stand which is rotatably arranged on a foot and which supports a first robot arm which is rotatable in relation to the stand. In the outer end of this arm, and rotatable in relation thereto, a second robot arm is arranged. In the following, the first arm is referred to as the lower arm and the second arm as the upper arm. At its outer end the upper arm supports a hand which is provided with a tool attachment and which is rotatable in two or three degrees of freedom relative to the upper arm. The robot is provided with servo equipment for control of the position and the orientation of the robot hand. For each one of the movement axes of the robot, servo equipment comprising a driving motor and a position sensor is provided, the latter delivering a signal which is a measure of the angle of rotation of the axis in question. The servo system of each axis is supplied with a reference value for the angle of rotation of the axis, and the driving motor of the axis brings the robot to move in the axis in question until the axis position indicated by the position sensor of the axis coincides with the reference value supplied to the servo system.
An industrial robot can be ordered to follow, at a certain speed, a track which is given in the form of a number of points in a Cartesian system of coordinates. For the robot to follow the given track, the axis angles required therefor must be calculated. For this purpose, the track is stepped with a length of step which is based on the given speed and an internal sampling time. For each step, the next position which the robot is to assume is first calculated in Cartesian coordinates. Then, the axis angles required for the robot to assume this position are calculated.
With the aid of a mathematical model for the robot, the axis torque required for driving the axes in accordance with the calculated axis angles can be calculated. A check is made whether any of the calculated axis torques exceeds the motor torques which the respective motor is capable of generating. If the available motor torque is not sufficient for carrying out the movement, the movement is adjusted, for example by reducing the speed and the acceleration, such that the available motor torque of each axis is utilized optimally while at the same time the robot still follows the track.
To prevent the mechanical structure of the robot from being overloaded, the mechanical structure must be designed such that, from the strength point of view, it endures loads caused by all conceivable combinations of individual axis movements. This requires designing the structure for a worst case which perhaps seldom occurs. This leads to the robot becoming unnecessarily slow for typical movements and causes the maximum permissible speed and load of the robot to be set unnecessarily low in order not to overload the structure. It is primarily some critical components which, for certain movements, are subjected to high loads and hence must be dimensioned for these loads.